package com.sky.mapper;

import com.sky.entity.Orders;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;

@Mapper
public interface OrderMapper {
     void insert(Orders orders);
     /**
      * 根据订单号查询订单
      * @param orderNumber
      */
     @Select("select * from orders where number = #{orderNumber}")
     Orders getByNumber(String orderNumber);

     /**
      * 修改订单信息
      * @param orders
      */
     void update(Orders orders);

     /**
      * 根据下单时间和订单状态查询订单
      * @param status
      * @param orderTime
      * @return
      */
     @Select("select * from orders where status = #{status} and order_time < #{orderTime}")
     List<Orders> getByStatusAndOrderTimeLT(Integer status, LocalDateTime orderTime);
     @Select("select * from orders where id = #{id}")
    Orders getById(Long id);

     Double sumByMap(Map map);

     Integer countByMap(Map map);
}
